package cn.iocoder.yudao.module.artifact.controller.admin.info.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import cn.iocoder.yudao.module.artifact.dal.dataobject.info.InfoImageDO;
import cn.iocoder.yudao.module.artifact.dal.dataobject.info.InfoVideoDO;

@Schema(description = "管理后台 - 文玩信息新增/修改 Request VO")
@Data
public class InfoSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5836")
    private Long id;

    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "双联壁")
    @NotEmpty(message = "名称不能为空")
    private String name;

    @Schema(description = "分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "分类不能为空")
    private Integer category;

    @Schema(description = "材质", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "材质不能为空")
    private Integer material;

    @Schema(description = "重量")
    private Integer weight;

    @Schema(description = "长度")
    private BigDecimal length;

    @Schema(description = "宽度")
    private BigDecimal width;

    @Schema(description = "高度")
    private BigDecimal height;

    @Schema(description = "年代")
    private Integer year;

    @Schema(description = "年代描述", example = "宋代")
    private String yearDescription;

    @Schema(description = "描述", example = "红山文化古玉")
    private String description;

    @Schema(description = "文玩图片列表")
    private List<InfoImageDO> infoImages;

    @Schema(description = "文玩视频列表")
    private List<InfoVideoDO> infoVideos;

}